package com.kgc.sbt.api;

import com.kgc.sbt.domain.User;
import com.kgc.sbt.domain.UserTT;
import com.kgc.sbt.domain.Vip;
import com.kgc.sbt.domain.VipRecord;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @Auther: Administrator
 * @Date: 2021年 06月22日 09:20
 * @Description: 用户业务接口
 */
public interface UserApi {

    /**
     * 用户手机号查询
     */
    User queryUser(String phoneNo);

    /**
     * 用户openid查询
     */
    User queryUserByOpenid(String openid);


    /**
     * 用户手机注册接口
     */
    void addUser(User user);

    /**
     * 用户手机登录接口(密码登录)
     */
    User queryUserByPwd(@RequestParam String phoneNo, @Param("password") String password);

    /**
     * 存储微信授权用户的唯一标识openid
     */
    boolean updateOpenId(@RequestParam("openId") String openId, @RequestParam("phone") String phone);

    /**
     * 10天会员充值生成订单接口
     */
    String chargeVipOfTenDays(@RequestParam String phoneNo);

    /**
     * 20天会员充值生成订单接口
     */
    String chargeVipOfTwentyDays(@RequestParam String phoneNo);

    /**
     * 查询会员信息
     */
    Vip queryVip(String phoneNo);

    /**
     * 初始化会员信息表，为普通会员
     */
    void createCommonVip(String phoneNo);

    /**
     * 变更成为会员，并更新会员到期时间
     */
    void updateVip(String phoneNo);

    /**
     * 会员加十天时间
     */
    void addVipTenDays(String phoneNo);

    /**
     * 删除会员充值记录
     */
    void delVipRecord(String tradeNo);

    /**
     * 微信授权解绑手机号
     */
    void updateWechatUnbind(String phoneNo);


//    /**
//     *  查询会员充值记录
//     * @param phoneNo
//     * @return
//     */
//    VipRecord queryInfoByPhoneNo(String phoneNo);

    // =================================================================================

    /**
     * 修改手机号，密码，生日等信息
     */
    boolean updateInfo(UserTT user);

    /**
     * 查找用户信息
     */
   User selectInfoById(Integer id);


}
